我不看好的职业:架构,测试,运维
如果你是一名职场新人,我不建议你投上面任何一个职位的简历。 如果你是老鸟,可以去做架构师。
架构
不要做只做架构的架构师。
因为你无法知道第一线工程师面临的问题。
日本的软件公司,专门有个公司叫架构师。收到需求之后,他会把需求一点儿一点儿的做 分析,然后设计,从骨架,到伪代码,直到某个按钮的名字。
不要做这样的架构师。能把技术的大方向定下来就可以了,千万不要做去干预第一线程序员 的事情,因为:
- 不参与第一线的工作,就无法准确判断出面临的问题
- 不准确的预判,会导致不合理的架构
- 由第一线的程序员来做写代码最合适。
好的CTO 或者技术经理可以把这些工作做的很好。
测试
测试的基本功,是人肉测试。 好的测试人员,需要熟练运用自动化测试。 可惜的是,这些年来,大部分测试人员,都是刚毕业的年轻人,没有接触过自动化的工具。 所有的工作就是人肉。在项目上线之前通宵加班。 他们的工作内容也很简单,鼠标手指点点点。
这样的工作没有技术含量,是没有价值的。
而且特别容易造成与程序员的摩擦。曾经有个朋友,测试人员一天给他提了200个BUG。 沟通无果后,这位程序员朋友离职了。工作没法干了。
我认为,一个好的项目经理 + 懂得测试的程序员,就完全可以承担传统测试人员的工作。 而且由产品经理来把握需求的优先级,是特别合适的。
另外,给测试同学的建议:
测试同学可以在大公司里养老。但是一旦离开大公司就肯定找不到工作。创业公司不会有钱雇佣测试人员。我十年前做测试的朋友早都转行了。10个里面留下一个就不错了。
测试同学看看自己会不会 selenium , appium , load runner 。如果都不会的话,赶紧现在就转行。
如果会的话,相信我,其他程序员掌握这些工具的能力比测试同学还要快还要好。
运维
运维的工作包括:
- 管理服务器, 域名。
- 分配账号
- 部署最新代码
- 维护wiki, 防火墙,解决宕机问题
- 需要7x24值班。
- 优化nginx等服务器。
这些工作,很多都是对 程序员和服务器之间的阻碍。 直接导致程序员的工作效率降低。 导致出错时各种推诿。 没有太高的技术含量。 在BAT这样的大公司会比较有用。但是在其他公司, 日访问量100W以下的,没有用武之地。
上面这些工作,熟悉LINUX的程序员都会做;而且做部署,优化服务器的话,程序员 做的会更好。因为代码就是程序员写的,一旦发生问题,程序员会最快的分析出日志, 会第一时间知道问题出在那里。
加上VPN, 短信报警,也就不需要7X24的值班了。
更重要的时,运维同学除了BAT这样的大公司,无处可去。职业没有出路。前景灰暗。